#include "Objeto.h"
#include "../Escenario.h"
#include <math.h>
#include <iostream>

Objeto::Objeto(short vida, Figura* figura)
{
	this->vida = vida;
	this->figura = figura;
}

Objeto::~Objeto(void)
{
	delete(figura);
}

void Objeto::setEscenario(Escenario *escenario) {
	this->escenario = escenario;
}
Escenario *Objeto::getEscenario() {
	return escenario;
}

short Objeto::getX(){
	return figura->getX();
}
short Objeto::getY(){
	return figura->getY();
}

Figura *Objeto::getFigura() {
	return figura;
}

void Objeto::setId(short id) {
	this->ID = id;
}

short Objeto::getId() {
	return ID;
}
short Objeto::getVida() {
	return vida;
}
bool Objeto::detectarColisionCon(Objeto *objeto) {
	if (objeto == this) return false;

	if (this->figura->seSuperponeCon(objeto->figura)) {
		return objeto->colisionaCon(this);
	}
	return false;
}

bool Objeto::daniar(short danio)
{
	this->vida = this->vida - danio;
	if (this->vida <= 0)
	{
		escenario->matar(this);
		return true;
	}
	return false;
}

short Objeto::getPuntos() { return 0; }
